package com.silence.gmall.product.domain.repository;

import com.baomidou.mybatisplus.extension.repository.IRepository;
import com.silence.gmall.base.TableDataInfo;
import com.silence.gmall.product.domain.entity.BaseTrademark;
import com.silence.gmall.product.dto.BaseTrademarkDto;

import java.util.List;

/**
 * @Author silence
 * @Description 针对表【base_trademark(品牌表)】的数据库操作Repository
 * @Date 2025-08-17 16:28:16
 */
public interface BaseTrademarkRepository extends IRepository<BaseTrademark> {

    /**
     * 获取品牌分页列表
     *
     * @param page  页码
     * @param limit 页数
     * @return 品牌分页列表
     */
    TableDataInfo<BaseTrademarkDto> pageBaseTrademark(Long page, Long limit);

    /**
     * 根据Id获取品牌
     *
     * @param id 品牌ID
     * @return 品牌
     */
    BaseTrademarkDto getBaseTrademark(Long id);

    /**
     * 获取品牌属性
     *
     * @return 品牌集合
     */
    List<BaseTrademarkDto> getTrademarkList();

    /**
     * 添加品牌
     *
     * @param reqVo 品牌请求VO
     */
    void saveBaseTrademark(BaseTrademarkDto reqVo);

    /**
     * 修改品牌
     *
     * @param reqVo 品牌请求VO
     */
    void updateBaseTrademark(BaseTrademarkDto reqVo);

    /**
     * 删除品牌
     *
     * @param id 品牌ID
     */
    void removeBaseTrademark(Long id);

}